﻿//#define _CRT_SECURE_NO_WARNINGS  1
//一定要动手，例子不管多么简单，建议至少自己手敲一遍看看是否理解了里头的细枝末节。
//一定要学会思考，思考为什么要这样，而不是那样。还要举一反三地思考
//#include<string>
//#include<iostream>
//using namespace std;
//class person {
//public:
//	int* _age;
//public:
//
//	person(int a)
//	{
//		_age = new int(a);
//	}
//	~person()
//	{
//		if (_age != nullptr)
//		{
//			delete _age;
//			_age = NULL;
//		}
//	}
//	person& operator=(person& p)
//	{
//		先判断是否有属性在堆区，如果有则先释放干净，然后深
//		if (this->_age != nullptr)
//		{
//			delete _age;
//		}
//		_age = new int(*p._age);
//		return *this;
//	}
//
//};
//void test1()
//{
//	person p1(18);
//	person p2(20);
//	person p3(30);
//	p3 = p1 = p2;
//	cout << "p1的年龄为：" << *p1._age << endl;
//	cout << "p2的年龄为：" << *p2._age << endl;
//	cout << "p3的年龄为：" << *p3._age << endl;
//
//
//}
//int main()
//{
//	test1();
//	return 0;
//}